﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 多态虚方法
{
    class Father
    {
        public virtual void FuncA()
        {
            Console.WriteLine("哈哈");
        }
    }
    class Son : Father
    {
        public override void FuncA()
        {
            base.FuncA();   //调用基类的FunA（）
            Console.WriteLine("嘿嘿");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Father f = new Father();
            Son s = new Son();
            Father s1 = new Son();    //初始化一个派生类对象，并赋给基类指针s1，也是说，基类指针可以指向派生类的对象
            f.FuncA();
            s.FuncA();
            s1.FuncA();
        }
    }
}
